// 大坑！！！
// 1.使用前，请确保使用的元素给了定位。
// 2.如果定位是relative，请确保定位后在top/left都为0 的情况下它的offset到他的父元素定位为0，否则每次都会加上元素的offsetLeft移动会BUG
function animal(obj, target, callback){
    clearInterval(obj.timer)
    obj.timer = setInterval(function (){
        var step = (target - obj.offsetLeft) / 10; // 可以通过步长修改移动的速度快慢（缓动动画）
        step = step > 0 ? Math.ceil(step) : Math.floor(step);
        if (obj.offsetLeft == target){
            clearInterval(obj.timer);
            callback && callback();
        } else {
            obj.style.left = obj.offsetLeft + step + 'px';
        }
    }, 15);
    
}